A business enterprise platform may install one or more databases for a customer. The databases may, for example, contain business information such as employee data, sales data, etc. In some cases, the customer may wish to share information from the database with various service providers. For example, the customer might want a service provider to analyze or test information in the customer's database. Note that a customer might want to share different portions of the database with different service providers. For example, one service provider might need to access employee salary information while another service provider does not need that information. Moreover, even when a customer wants to share the same portion of the database with different service providers, it might be desirable to share that portion in different ways. For example, a customer might want to encrypt information in the database using different passwords for different service providers.
To achieve such abilities, the customer or business enterprise platform can write detailed code in view of the needs of the customer and/or service providers. Such an approach, however, can be time consuming and expensive—especially when there are a relative large number of customers and/or service providers to deal with (and, similarly, when the databases involved are relatively large). Moreover, these actions may be costly in connection with both resources and processing time and often require knowledge of Structured Query Language (“SQL”) techniques as well as an understanding of how the customer's databases are arranged.
Accordingly, an efficient mechanism for representing and implementing different views of a database may be addressed by some embodiments herein.